﻿Imports log4net

Partial Class Estudiante_FormularioEstudiante
    Inherits System.Web.UI.Page

    Dim log As ILog = LogManager.GetLogger("LogFile")

    Property EstudianteId() As Integer
        Set(ByVal value As Integer)
            PersonaIdHiddenField.Value = value.ToString()
        End Set
        Get
            Dim personaId As Integer = 0
            Try
                personaId = Convert.ToInt32(PersonaIdHiddenField.Value)
            Catch ex As Exception
                log.Error("No se pudo obtener correctamente el valor del id de la persona")
            End Try
            Return personaId
        End Get
    End Property


    Public Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
        If Not IsPostBack Then
            CargarEstudiante()
        End If
        PanelError.Visible = False
    End Sub

    Private Sub CargarEstudiante()
        Try
            If Not Session("EstudianteId") Is Nothing And Not String.IsNullOrEmpty(Session("EstudianteId")) Then
                PersonaIdHiddenField.Value = Session("EstudianteId")
                Session("EstudianteId") = Nothing
            Else
                Return
            End If

            Dim Crn As EstudianteCRN = New EstudianteCRN()
            Dim estudiante As Estudiante = Nothing

            Try
                estudiante = Crn.GetEstudianteById(EstudianteId)
            Catch ex As Exception
                log.Error("Ocurrio un error al obtener el estudiante")
                MensageError.Text = "Ocurrio un error al cargar los datos del estudiante"
                PanelError.Visible = True
                Return
            End Try

            If estudiante Is Nothing Then
                MensageError.Text = "Ocurrio un error al cargar los datos del estudiante"
                PanelError.Visible = True
                Return
            End If

            NombreTextBox.Text = estudiante.Nombre
            ApellidoPaternoTextBox.Text = estudiante.ApellidoPaterno
            ApellidoMaternoTextBox.Text = estudiante.ApellidoMaterno
            CedulaTextBox.Text = estudiante.CI
            TelefonoTextBox.Text = estudiante.Telefono
            CelularTextBox.Text = estudiante.Celular
            DireccionTextBox.Text = estudiante.Direccion
            FechaNacimientoTextBox.Text = FormatDateTime(estudiante.FechaNacimiento, DateFormat.ShortDate)
            LugarNacimientoTextBox.Text = estudiante.LugarNacimiento
            ColegioAnteriorTextBox.Text = estudiante.ColegioAnterior
            EmailTextBox.Text = estudiante.Email

        Catch ex As Exception
            log.Error("No se pudo cargar los datos del estudiante", ex)
        End Try
    End Sub

    Public Sub GuardarEstudianteLinkButton_Click(ByVal sender As Object, ByVal e As EventArgs)

        Try

            Dim objEstudiante As Estudiante = New Estudiante(EstudianteId, _
                                                      NombreTextBox.Text, _
                                                      ApellidoPaternoTextBox.Text, _
                                                      ApellidoMaternoTextBox.Text, _
                                                      CedulaTextBox.Text, _
                                                      "", _
                                                      DireccionTextBox.Text, _
                                                      TelefonoTextBox.Text, _
                                                      EmailTextBox.Text, _
                                                      Convert.ToDateTime(FechaNacimientoTextBox.Text), _
                                                      LugarNacimientoTextBox.Text, _
                                                      CelularTextBox.Text, ColegioAnteriorTextBox.Text)

            Dim Crn As EstudianteCRN = New EstudianteCRN()

            If (EstudianteId > 0) Then
                Crn.ActualizarEstudiante(objEstudiante)
            Else
                Crn.InsetarEstudiante(objEstudiante)
            End If

        Catch ex As Exception
            log.Error("No se pugo guardar el Estudiante", ex)
            MensageError.Text = "Ocurrio un error al guardar los datos del Estudiante"
            PanelError.Visible = True
            Return
        End Try
        Session("TipoMensaje") = True
        Response.Redirect("ListaEstudiante.aspx")

    End Sub

End Class
